/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.pbs.facades;

import br.com.pbs.pojos.Pessoa;
import br.com.pbs.exeptions.BancoExeption;
import br.com.pbs.factory.Factory;
import br.com.pbs.interfaces.IFacadePessoa;
import br.com.pbs.interfaces.IFactoryPessoa;
import br.com.pbs.interfaces.IPessoaDao;
import java.util.List;

/**
 *
 * @author Luiz Segundo
 */
public class FacadePessoa implements IFacadePessoa<Pessoa>{

        private IFactoryPessoa factory = new Factory();
        private IPessoaDao dao = factory.getPessoaDao();

        private FacadePessoa(){

        }

        public static IFacadePessoa getInstance(){
                return new FacadePessoa();
        }

        public boolean cadatraPessoa(Pessoa p)throws BancoExeption {
                        dao.save(p);
                        return true;
              
        }

        public boolean deletaPessoa(Pessoa p) throws BancoExeption{

                return dao.delete(p);
                
        }

        public Pessoa buscaPorNome(String nome) throws BancoExeption{
                return dao.buscaObjetoPorNome(nome, new Pessoa());
        }

        public boolean atualizaPessoa(Pessoa p) throws BancoExeption {
                dao.update(p);
                return true;
        }

        public List<Pessoa> listaDeNomes(String nome)throws BancoExeption{
                return dao.listaDeNomes(nome, new Pessoa());
        }


       

}
